Rust
Author

(Milanesi, 2022, p. 6)

Impresión de números enteros

Si quieres imprimir My number: 140, puedes escribir:

print!("My number: 140");

o bien, utilizando un marcador de posición y un argumento adicional:

print!("My number: {}", "140");

o bien, eliminando las comillas alrededor del segundo argumento:

print!("My number: {}", 140);

En la última declaración, el segundo argumento no es una cadena literal, sino un número entero literal o, para abreviar, un número entero literal.

Los números enteros son otro tipo de dato, a diferencia de las cadenas de texto.

La macro “imprimir” también puede usar números enteros para reemplazar el marcador de posición correspondiente dentro de su primer argumento.

De hecho, el compilador interpreta la cadena 140 contenida en el código fuente como un número expresado en formato decimal. Genera el número equivalente en formato binario y luego guarda ese número binario en el programa ejecutable.

En tiempo de ejecución, el programa toma ese número binario; lo transforma en la cadena "140", usando la notación decimal; luego reemplaza el marcador de posición con esa cadena, generando así la cadena para imprimir; y finalmente envía la cadena al terminal.

Este procedimiento explica, por ejemplo, por qué si se escribe el siguiente programa:

print!("My number: {}", 000140);

el compilador genera exactamente el mismo programa ejecutable generado antes. En realidad, cuando la cadena fuente 000140 se convierte al formato binario, los ceros iniciales se ignoran.

Los tipos de argumentos también pueden combinarse. Esta sentencia:

print!("{}: {}", "My number", 140);

imprimirá la misma línea que antes. Aquí el primer marcador de posición corresponde a una cadena literal, mientras que el segundo corresponde a un número entero literal.

Back to top